package com.hxd.otc.module.order.contract;

import com.hxd.otc.module.order.bean.CheckImageBean;
import com.hxd.otc.module.order.bean.ComplainBean;
import com.hxd.otc.module.order.bean.ComplainTypeBean;
import com.hxd.otc.mvp.base.IBasePresenter;
import com.hxd.otc.mvp.base.IBaseView;

import java.io.File;
import java.util.List;
import java.util.Map;

/**
 * 包  名 :  com.hxd.otc.mvp.contract
 * 类  名 :  ComplainContract
 * 作  者 :  胡庆岭
 * 时  间 :  2018/6/8 10:10
 * 描  述 :  ${TODO} 投诉契约
 */
public interface ComplainContract {

    interface View extends IBaseView {

        void proofResult(List<CheckImageBean> data);

        /**
         * @param beans 返回 申诉类型
         */
        void getComplainType(List<ComplainTypeBean> beans);

        /**
         * 提交申诉
         *
         * @param type 0: 成功； 1：失败
         */
        void complainSuccess(int type);

        /**
         * 阿里云图片上传完成
         *
         * @param type 0: 上传成功； 1：上传失败
         */
        void upLoadFinished(int type, Map<String, Object> success);

        void uploadImageSuccess(String result);

        void uploadImageFail(String message);
    }

    interface Presenter extends IBasePresenter {
        /**
         * 提交 申诉
         *
         * @param bean
         */
        void complain(ComplainBean bean);

        /**
         * 上传图片到阿里云
         *
         * @param files
         */
        void upLoadAliyun(List<File> files);

        /**
         * 获取 申诉类型
         */
        void getComplainType();

        void loadProof();

        void uploadImage(String tag, File file);

    }
}
